# #用户 --> 查看
# #管理员 --> 查看且添加商品信息

# 所有功能都用函数来封装
# 登录验证
def login():
    username = input("请输入用户名:")
    passwd = input("请输入密码:")
    # 这里验证一下用户名和密码是否匹配
    # if username == "" and passwd == "":
    #     print("登录成功")
    # else:
    #     print("请重新输入用户名和密码")
    print("登录成功")

# 用户输入购物预算
#balance是余额
#budget是预算
def budget_func():
    global balance
    budget = float(input("请输入您的预算："))
    balance = budget

# 用户查看商品信息
def show_purchase_func():
    print("商品名称\t商品价格")
    for i in dict_goods:
        print(f"{i['name']}\t\t{i['price']}元")
# 用户查看已购买信息,并显示余额
def purchased_func():
    print("您的订单信息:")
    print("商品名称\t商品信息")
    for i in purchased_info:
        print(f"{i['name']}\t\t{i['price']}元")
    print("您的余额:",balance)
# 用户购买商品，这里根据商品的名字来购买商品，余额够就直接扣款，不够就提醒
def shopping_func(goods_name):
    global balance
    for i in dict_goods:
        if i['name'] == goods_name:
            if balance >= i['price']:
                purchased_info.append({"name":i['name'],"price":i['price']})
                balance -= i['price']
                print(f"购买成功，已扣除{i['price']}元，当前账户还剩{balance}元")
            else:
                print("余额不足，请充值")

# 退出系统(输入exit退出),退出时打印已购买的商品和余额
def exit_func():
    # 这里调用一下显示余额的函数
    purchased_func()
    print("感谢您的使用，欢迎下次再来")


# 主函数入口，这里就懒得搞成函数了
# 商品信息
dict_goods = [
    {"id":"F0001", "name":"苹果", "price":5},
    {"id":"F0002", "name":"香蕉", "price":3}
]
# 已购买信息和余额
purchased_info = []
balance = 0.0
print("1、展示商品信息\t2.购买商品\t3.展示已购买商品和余额\t4.退出系统")
login()
budget_func()
while True:
    choice = input("请输入:")
    # 展示商品信息
    if choice == "1":
        show_purchase_func()
    #购买商品
    elif choice == "2":
        goods_name = input("请输入要购买的商品:")
        shopping_func(goods_name)
    #展示已购买商品和余额
    elif choice == "3":
        purchased_func()
    # 退出系统
    elif choice == "4":
        exit_func()
        break
    else:
        print("无效输入，请重新输入")
